﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI.Design;
using System.IO;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace jQuery.WebControls.UI
{
    /// <summary>
    /// Diseñador del control TabControl para generar la salida en HTML en tiempo de desarrollo.
    /// </summary>
    class TabControlDesigner : ContainerControlDesigner
    {
        //protected TabControl tabcontrol;
        
        protected override void OnClick(DesignerRegionMouseEventArgs e)
        {
            base.OnClick(e);
        }

        public override void InitializeExistingComponent(System.Collections.IDictionary defaultValues)
        {
            base.InitializeExistingComponent(defaultValues);
        }
               
        //public override string GetDesignTimeHtml()
        //{
        //    tabcontrol = (TabControl)Component;

        //    if (tabcontrol.Tabs.Count == 0)
        //    {
        //        Tab aux;
        //        for (int i = 0; i < 3; i++)
        //        {
        //            aux = new Tab();
        //            aux.Titulo = "Pestaña " + (i + 1).ToString();
        //            tabcontrol.Tabs.Add(aux);
        //        }
        //    }            

        //    return generarHtml();   
        //}

        //private string generarHtml()
        //{
        //    StringWriter sw = new StringWriter();
        //    HtmlTextWriter tw = new HtmlTextWriter(sw);
        //    LiteralControl titulo;
        //    Panel p = new Panel();
        //    if (tabcontrol.Height != null)
        //        p.Height = tabcontrol.Height;
        //    if (tabcontrol.Width != null)
        //    {
        //        p.Width = tabcontrol.Width;
        //    }

        //    for (int i = 0; i < tabcontrol.Tabs.Count; i++)
        //    {
        //        titulo = new LiteralControl("<div>" + tabcontrol.Tabs[i].Titulo + "</div>");
        //        titulo.RenderControl(tw);                                                   
        //        for (int j = 0; j < tabcontrol.Tabs[i].Controls.Count - 1; j++)
        //        {
        //            RenderControl(tabcontrol.Tabs[i].Controls[j], ref tw);                                   
        //        }
        //        titulo = new LiteralControl("<hr />");
        //        titulo.RenderControl(tw);                                                   
        //    }
            
        //    return sw.ToString(); 
        //}

        //private void RenderControl(Control c, ref HtmlTextWriter tw)
        //{
        //    if (c.HasControls())
        //    {
        //        for (int i = 0; i < c.Controls.Count; i++)
        //            RenderControl(c.Controls[i], ref tw);
        //    }
        //    c.RenderControl(tw);
        //}
    }
}
